/** 懒加载图片 */
export const lazyLoad = ($parent, onerror?) => {
  $(".lazy-image", $parent).each((index, item) => {
    const $img = $(item);
    const width = $img.width();
    const height = $img.height();
    // const src = $img.attr('data-src');
    const src = $img.attr('data-src') + `?imageView2/1/w/${width}/h/${height}`;
    $img.attr('src', src).on('success', () => {
      $img.removeClass('lazy-image');
    }).on('error', () => {
      if (onerror) {
        onerror();
      } else {
        $img.remove();
      }
    });
  });
}

/** 从URL地址中取参数 */
export const getParam = (name, def?) => {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]); return def;
}
/** 日期格式化 */
export const formatDate = (d: number | Date, fmt = 'YYYY-MM-dd hh:mm:ss'): string => {
  const date = typeof d === 'number' ? new Date(d) : d;
  const o = {
    'Y+': date.getFullYear(),                    // 年份
    'M+': date.getMonth() + 1,                    // 月份
    'd+': date.getDate(),                         // 日
    'h+': date.getHours(),                        // 小时
    'm+': date.getMinutes(),                      // 分
    's+': date.getSeconds(),                      // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3),  // 季度
    'S': date.getMilliseconds()                   // 毫秒
  };
  if (/(Y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  for (const k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
    }
  }
  return fmt;
};
